package com.smedi.ismedi.progress.api.dto.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @auther Cookie
 * @date 2022/9/16
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "进度计划-版本管理 返参")
public class VersionManageResponse {
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Long projectId;

    @ApiModelProperty(value = "主表id")
    private Long id;

    /**
     * 计划名称
     */
    @ApiModelProperty(value = "计划名称")
    private String scheduleName;
    /**
     * 主体院id
     */
    @ApiModelProperty(value = "主体院id")
    private Long mainCourtyardId;
    /**
     * 编制人
     */
    @ApiModelProperty(value = "编制人")
    private String compilePerson;
    /**
     * 版本描述
     */
    @ApiModelProperty(value = "版本描述")
    private String description;

    /**
     * 版本状态(0、无效  1、有效)
     */
    @ApiModelProperty(value = "版本状态(0、无效  1、有效)")
    private Long	status;

    /**
     * 主体院审批(0、已退回 1、待审批 2、审批通过)
     */
    @ApiModelProperty(value = "主体院审批(0、已退回 1、待审批 2、审批通过)")
    private String	mainCourtyardApproval;
    /**
     * 工程部审批(0、已退回 1、待审批 2、审批通过)
     */
    @ApiModelProperty(value = "工程部审批(0、已退回 1、待审批 2、审批通过)")
    private String	engineerDepartmentApproval;

    /**
     * 提交时间
     */
    @ApiModelProperty(value = "提交时间")
    private LocalDateTime	submitTime;

    /**
     * 版本号
     */
    @ApiModelProperty(value = "版本号")
    private Long	version;
    /**
     * 创建用户的id
     */
    @ApiModelProperty(value = "创建用户的id")
    private Long	createdUserId;
    /**
     * 提交日期
     */
    @ApiModelProperty(value = "提交日期")
    private LocalDateTime createdDate;
    /**
     * 最后更新时间
     */
    @ApiModelProperty(value = "最后更新时间")
    private LocalDateTime	latestUpdatedDate;
    /**
     * 最后更新的用户id
     */
    @ApiModelProperty(value = "最后更新的用户id")
    private Long	latestUpdatedUserId;
    /**
     * 是否删除(0、否  1、是)
     */
    @ApiModelProperty(value = "是否删除(0、否  1、是)")
    private Long	isDeleted;
    /**
     * 申报人/发起人
     */
    @ApiModelProperty(value = "申报人/发起人")
    private PersonResponse applicant;

    /**
     * 业务类型
     */
    @ApiModelProperty(value = "业务类型")
    private String businessType;

    /**
     * 流程定义
     */
    @ApiModelProperty(value = "流程定义")
    private String processDefinitionKey;

    /**
     * 任务状态
     */
    @ApiModelProperty(value = "任务状态")
    private String taskStatus;

    /**
     * 任务标识
     */
    @ApiModelProperty(value = "任务标识")
    private String taskKey;

    /**
     * 施工经理
     */
    private List<Long> constructionMember;
}
